package transactionimplementation

import (
	abstracttransaction "salarypayment-case/AbstractTransaction"
	"salarypayment-case/Model"
	"salarypayment-case/modelimplementation"
)

type ChangeCommissionedTransaction struct {
	abstracttransaction.ChangeClassificationTransaction
	itsSalary         float64
	itsCommissionRate float64
}

func (ct *ChangeCommissionedTransaction) GetClassification() Model.PaymentClassification {
	return modelimplementation.CreateCommissionedClassification(ct.itsSalary, ct.itsCommissionRate)
}

func (ct *ChangeCommissionedTransaction) GetSchedule() Model.PaymentSchedule {
	return &modelimplementation.BiweeklySchedule{}
}